<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=9"/>
<meta name="generator" content="Doxygen 1.8.14"/>
<meta name="viewport" content="width=device-width, initial-scale=1"/>
<title>LibQQt: QCPRange Class Reference</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="jquery.js"></script>
<script type="text/javascript" src="dynsections.js"></script>
<link href="search/search.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="search/searchdata.js"></script>
<script type="text/javascript" src="search/search.js"></script>
<link href="doxygen.css" rel="stylesheet" type="text/css" />
</head>
<body>
<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
<div id="titlearea">
<table cellspacing="0" cellpadding="0">
 <tbody>
 <tr style="height: 56px;">
  <td id="projectlogo"><img alt="Logo" src="logo.png"/></td>
  <td id="projectalign" style="padding-left: 0.5em;">
   <div id="projectname">LibQQt
   &#160;<span id="projectnumber">v3.1</span>
   </div>
   <div id="projectbrief">开源、跨平台Qt应用程序框架中间件</div>
  </td>
 </tr>
 </tbody>
</table>
</div>
<!-- end header part -->
<!-- Generated by Doxygen 1.8.14 -->
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
var searchBox = new SearchBox("searchBox", "search",false,'Search');
/* @license-end */
</script>
<script type="text/javascript" src="menudata.js"></script>
<script type="text/javascript" src="menu.js"></script>
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
$(function() {
  initMenu('',true,false,'search.php','Search');
  $(document).ready(function() { init_search(); });
});
/* @license-end */</script>
<div id="main-nav"></div>
<!-- window showing the filter options -->
<div id="MSearchSelectWindow"
     onmouseover="return searchBox.OnSearchSelectShow()"
     onmouseout="return searchBox.OnSearchSelectHide()"
     onkeydown="return searchBox.OnSearchSelectKey(event)">
</div>

<!-- iframe showing the search results (closed by default) -->
<div id="MSearchResultsWindow">
<iframe src="javascript:void(0)" frameborder="0" 
        name="MSearchResults" id="MSearchResults">
</iframe>
</div>

</div><!-- top -->
<div class="header">
  <div class="summary">
<a href="#pub-methods">Public Member Functions</a> &#124;
<a href="#pub-static-methods">Static Public Member Functions</a> &#124;
<a href="#pub-attribs">Public Attributes</a> &#124;
<a href="#pub-static-attribs">Static Public Attributes</a> &#124;
<a href="#friends">Friends</a> &#124;
<a href="class_q_c_p_range-members.html">List of all members</a>  </div>
  <div class="headertitle">
<div class="title">QCPRange Class Reference</div>  </div>
</div><!--header-->
<div class="contents">

<p>Represents the range an axis is encompassing.  
 <a href="class_q_c_p_range.html#details">More...</a></p>
<table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pub-methods"></a>
Public Member Functions</h2></td></tr>
<tr class="memitem:aca158d7e69702cee5d77d10a269b01e2"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_q_c_p_range.html#aca158d7e69702cee5d77d10a269b01e2">QCPRange</a> ()</td></tr>
<tr class="separator:aca158d7e69702cee5d77d10a269b01e2"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a1d9d84d084c8f368fdedd42e0978d405"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_q_c_p_range.html#a1d9d84d084c8f368fdedd42e0978d405">QCPRange</a> (double lower, double upper)</td></tr>
<tr class="separator:a1d9d84d084c8f368fdedd42e0978d405"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a9f8d1fdcf4b6d19779f1c3d9a14b09c9"><td class="memItemLeft" align="right" valign="top"><a id="a9f8d1fdcf4b6d19779f1c3d9a14b09c9"></a>
bool&#160;</td><td class="memItemRight" valign="bottom"><b>operator==</b> (const <a class="el" href="class_q_c_p_range.html">QCPRange</a> &amp;other) const</td></tr>
<tr class="separator:a9f8d1fdcf4b6d19779f1c3d9a14b09c9"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a4827a37c83b8bb4bf53fcf8f6a257e77"><td class="memItemLeft" align="right" valign="top"><a id="a4827a37c83b8bb4bf53fcf8f6a257e77"></a>
bool&#160;</td><td class="memItemRight" valign="bottom"><b>operator!=</b> (const <a class="el" href="class_q_c_p_range.html">QCPRange</a> &amp;other) const</td></tr>
<tr class="separator:a4827a37c83b8bb4bf53fcf8f6a257e77"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:afea7c1aa7d08f061cd9bd8832f957df8"><td class="memItemLeft" align="right" valign="top"><a class="el" href="class_q_c_p_range.html">QCPRange</a> &amp;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_q_c_p_range.html#afea7c1aa7d08f061cd9bd8832f957df8">operator+=</a> (const double &amp;value)</td></tr>
<tr class="separator:afea7c1aa7d08f061cd9bd8832f957df8"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a95894bcb15a16a75ca564091374e2191"><td class="memItemLeft" align="right" valign="top"><a class="el" href="class_q_c_p_range.html">QCPRange</a> &amp;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_q_c_p_range.html#a95894bcb15a16a75ca564091374e2191">operator-=</a> (const double &amp;value)</td></tr>
<tr class="separator:a95894bcb15a16a75ca564091374e2191"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a6876aa9620ff2f0f7f1873f998372cef"><td class="memItemLeft" align="right" valign="top"><a class="el" href="class_q_c_p_range.html">QCPRange</a> &amp;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_q_c_p_range.html#a6876aa9620ff2f0f7f1873f998372cef">operator*=</a> (const double &amp;value)</td></tr>
<tr class="separator:a6876aa9620ff2f0f7f1873f998372cef"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a6137d8682b6835ace840730b4c1e2d63"><td class="memItemLeft" align="right" valign="top"><a class="el" href="class_q_c_p_range.html">QCPRange</a> &amp;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_q_c_p_range.html#a6137d8682b6835ace840730b4c1e2d63">operator/=</a> (const double &amp;value)</td></tr>
<tr class="separator:a6137d8682b6835ace840730b4c1e2d63"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a62326e7cc4316b96df6a60813230e63f"><td class="memItemLeft" align="right" valign="top">double&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_q_c_p_range.html#a62326e7cc4316b96df6a60813230e63f">size</a> () const</td></tr>
<tr class="separator:a62326e7cc4316b96df6a60813230e63f"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:af57d4a37a45d0101177ca30fae5d4ca8"><td class="memItemLeft" align="right" valign="top">double&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_q_c_p_range.html#af57d4a37a45d0101177ca30fae5d4ca8">center</a> () const</td></tr>
<tr class="separator:af57d4a37a45d0101177ca30fae5d4ca8"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:af914a7740269b0604d0827c634a878a9"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_q_c_p_range.html#af914a7740269b0604d0827c634a878a9">normalize</a> ()</td></tr>
<tr class="separator:af914a7740269b0604d0827c634a878a9"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a0fa1bc8048be50d52bea93a8caf08305"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_q_c_p_range.html#a0fa1bc8048be50d52bea93a8caf08305">expand</a> (const <a class="el" href="class_q_c_p_range.html">QCPRange</a> &amp;otherRange)</td></tr>
<tr class="separator:a0fa1bc8048be50d52bea93a8caf08305"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a9cbfb7cd06eac1839cae981e05c19633"><td class="memItemLeft" align="right" valign="top"><a class="el" href="class_q_c_p_range.html">QCPRange</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_q_c_p_range.html#a9cbfb7cd06eac1839cae981e05c19633">expanded</a> (const <a class="el" href="class_q_c_p_range.html">QCPRange</a> &amp;otherRange) const</td></tr>
<tr class="separator:a9cbfb7cd06eac1839cae981e05c19633"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a3d66288d66e1d6df3636075eb42502ee"><td class="memItemLeft" align="right" valign="top"><a class="el" href="class_q_c_p_range.html">QCPRange</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_q_c_p_range.html#a3d66288d66e1d6df3636075eb42502ee">sanitizedForLogScale</a> () const</td></tr>
<tr class="separator:a3d66288d66e1d6df3636075eb42502ee"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a808751fdd9b17ef52327ba011df2e5f1"><td class="memItemLeft" align="right" valign="top"><a class="el" href="class_q_c_p_range.html">QCPRange</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_q_c_p_range.html#a808751fdd9b17ef52327ba011df2e5f1">sanitizedForLinScale</a> () const</td></tr>
<tr class="separator:a808751fdd9b17ef52327ba011df2e5f1"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ae9842b48b6d38dc5e9607358e3083cc8"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_q_c_p_range.html#ae9842b48b6d38dc5e9607358e3083cc8">contains</a> (double value) const</td></tr>
<tr class="separator:ae9842b48b6d38dc5e9607358e3083cc8"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pub-static-methods"></a>
Static Public Member Functions</h2></td></tr>
<tr class="memitem:ab38bd4841c77c7bb86c9eea0f142dcc0"><td class="memItemLeft" align="right" valign="top">static bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_q_c_p_range.html#ab38bd4841c77c7bb86c9eea0f142dcc0">validRange</a> (double lower, double upper)</td></tr>
<tr class="separator:ab38bd4841c77c7bb86c9eea0f142dcc0"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a801b964752eaad6219be9d8a651ec2b3"><td class="memItemLeft" align="right" valign="top">static bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_q_c_p_range.html#a801b964752eaad6219be9d8a651ec2b3">validRange</a> (const <a class="el" href="class_q_c_p_range.html">QCPRange</a> &amp;range)</td></tr>
<tr class="separator:a801b964752eaad6219be9d8a651ec2b3"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pub-attribs"></a>
Public Attributes</h2></td></tr>
<tr class="memitem:aa3aca3edb14f7ca0c85d912647b91745"><td class="memItemLeft" align="right" valign="top"><a id="aa3aca3edb14f7ca0c85d912647b91745"></a>
double&#160;</td><td class="memItemRight" valign="bottom"><b>lower</b></td></tr>
<tr class="separator:aa3aca3edb14f7ca0c85d912647b91745"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ae44eb3aafe1d0e2ed34b499b6d2e074f"><td class="memItemLeft" align="right" valign="top"><a id="ae44eb3aafe1d0e2ed34b499b6d2e074f"></a>
double&#160;</td><td class="memItemRight" valign="bottom"><b>upper</b></td></tr>
<tr class="separator:ae44eb3aafe1d0e2ed34b499b6d2e074f"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pub-static-attribs"></a>
Static Public Attributes</h2></td></tr>
<tr class="memitem:ab46d3bc95030ee25efda41b89e2b616b"><td class="memItemLeft" align="right" valign="top">static const double&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_q_c_p_range.html#ab46d3bc95030ee25efda41b89e2b616b">minRange</a> = 1e-280</td></tr>
<tr class="separator:ab46d3bc95030ee25efda41b89e2b616b"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a5ca51e7a2dc5dc0d49527ab171fe1f4f"><td class="memItemLeft" align="right" valign="top">static const double&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_q_c_p_range.html#a5ca51e7a2dc5dc0d49527ab171fe1f4f">maxRange</a> = 1e250</td></tr>
<tr class="separator:a5ca51e7a2dc5dc0d49527ab171fe1f4f"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="friends"></a>
Friends</h2></td></tr>
<tr class="memitem:af53ea6fb823a4a5897162b865841de04"><td class="memItemLeft" align="right" valign="top">const <a class="el" href="class_q_c_p_range.html">QCPRange</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_q_c_p_range.html#af53ea6fb823a4a5897162b865841de04">operator+</a> (const <a class="el" href="class_q_c_p_range.html">QCPRange</a> &amp;, double)</td></tr>
<tr class="separator:af53ea6fb823a4a5897162b865841de04"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a9fb2e9941d32001482df670c0d704977"><td class="memItemLeft" align="right" valign="top">const <a class="el" href="class_q_c_p_range.html">QCPRange</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_q_c_p_range.html#a9fb2e9941d32001482df670c0d704977">operator+</a> (double, const <a class="el" href="class_q_c_p_range.html">QCPRange</a> &amp;)</td></tr>
<tr class="separator:a9fb2e9941d32001482df670c0d704977"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a797f82830b516646da8873f82e39e356"><td class="memItemLeft" align="right" valign="top">const <a class="el" href="class_q_c_p_range.html">QCPRange</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_q_c_p_range.html#a797f82830b516646da8873f82e39e356">operator-</a> (const <a class="el" href="class_q_c_p_range.html">QCPRange</a> &amp;range, double value)</td></tr>
<tr class="separator:a797f82830b516646da8873f82e39e356"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a558b1248ff6a9e41fd5b2630555a8acc"><td class="memItemLeft" align="right" valign="top">const <a class="el" href="class_q_c_p_range.html">QCPRange</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_q_c_p_range.html#a558b1248ff6a9e41fd5b2630555a8acc">operator*</a> (const <a class="el" href="class_q_c_p_range.html">QCPRange</a> &amp;range, double value)</td></tr>
<tr class="separator:a558b1248ff6a9e41fd5b2630555a8acc"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a5cb2332f6957021f47cc768089f4f090"><td class="memItemLeft" align="right" valign="top">const <a class="el" href="class_q_c_p_range.html">QCPRange</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_q_c_p_range.html#a5cb2332f6957021f47cc768089f4f090">operator*</a> (double value, const <a class="el" href="class_q_c_p_range.html">QCPRange</a> &amp;range)</td></tr>
<tr class="separator:a5cb2332f6957021f47cc768089f4f090"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a4b366a3a21974c88e09b0d39d4a24a4b"><td class="memItemLeft" align="right" valign="top">const <a class="el" href="class_q_c_p_range.html">QCPRange</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_q_c_p_range.html#a4b366a3a21974c88e09b0d39d4a24a4b">operator/</a> (const <a class="el" href="class_q_c_p_range.html">QCPRange</a> &amp;range, double value)</td></tr>
<tr class="separator:a4b366a3a21974c88e09b0d39d4a24a4b"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table>
<a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2>
<div class="textblock"><p>Represents the range an axis is encompassing. </p>
<p>contains a <em>lower</em> and <em>upper</em> double value and provides convenience input, output and modification functions.</p>
<dl class="section see"><dt>See also</dt><dd><a class="el" href="class_q_c_p_axis.html#aebdfea5d44c3a0ad2b4700cd4d25b641">QCPAxis::setRange</a> </dd></dl>
</div><h2 class="groupheader">Constructor &amp; Destructor Documentation</h2>
<a id="aca158d7e69702cee5d77d10a269b01e2"></a>
<h2 class="memtitle"><span class="permalink"><a href="#aca158d7e69702cee5d77d10a269b01e2">&#9670;&nbsp;</a></span>QCPRange() <span class="overload">[1/2]</span></h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">QCPRange::QCPRange </td>
          <td>(</td>
          <td class="paramname"></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">
<p>Constructs a range with <em>lower</em> and <em>upper</em> set to zero. </p>

</div>
</div>
<a id="a1d9d84d084c8f368fdedd42e0978d405"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a1d9d84d084c8f368fdedd42e0978d405">&#9670;&nbsp;</a></span>QCPRange() <span class="overload">[2/2]</span></h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">QCPRange::QCPRange </td>
          <td>(</td>
          <td class="paramtype">double&#160;</td>
          <td class="paramname"><em>lower</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">double&#160;</td>
          <td class="paramname"><em>upper</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">
<p>This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts. Constructs a range with the specified <em>lower</em> and <em>upper</em> values. </p>

</div>
</div>
<h2 class="groupheader">Member Function Documentation</h2>
<a id="af57d4a37a45d0101177ca30fae5d4ca8"></a>
<h2 class="memtitle"><span class="permalink"><a href="#af57d4a37a45d0101177ca30fae5d4ca8">&#9670;&nbsp;</a></span>center()</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">double QCPRange::center </td>
          <td>(</td>
          <td class="paramname"></td><td>)</td>
          <td> const</td>
        </tr>
      </table>
</div><div class="memdoc">
<p>Returns the center of the range, i.e. (<em>upper+<em>lower</em>)*0</em>.5 </p>

</div>
</div>
<a id="ae9842b48b6d38dc5e9607358e3083cc8"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ae9842b48b6d38dc5e9607358e3083cc8">&#9670;&nbsp;</a></span>contains()</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">bool QCPRange::contains </td>
          <td>(</td>
          <td class="paramtype">double&#160;</td>
          <td class="paramname"><em>value</em></td><td>)</td>
          <td> const</td>
        </tr>
      </table>
</div><div class="memdoc">
<p>Returns true when <em>value</em> lies within or exactly on the borders of the range. </p>

</div>
</div>
<a id="a0fa1bc8048be50d52bea93a8caf08305"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a0fa1bc8048be50d52bea93a8caf08305">&#9670;&nbsp;</a></span>expand()</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void QCPRange::expand </td>
          <td>(</td>
          <td class="paramtype">const <a class="el" href="class_q_c_p_range.html">QCPRange</a> &amp;&#160;</td>
          <td class="paramname"><em>otherRange</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">
<p>Expands this range such that <em>otherRange</em> is contained in the new range. It is assumed that both this range and <em>otherRange</em> are normalized (see <a class="el" href="class_q_c_p_range.html#af914a7740269b0604d0827c634a878a9">normalize</a>).</p>
<p>If <em>otherRange</em> is already inside the current range, this function does nothing.</p>
<dl class="section see"><dt>See also</dt><dd><a class="el" href="class_q_c_p_range.html#a9cbfb7cd06eac1839cae981e05c19633">expanded</a> </dd></dl>

</div>
</div>
<a id="a9cbfb7cd06eac1839cae981e05c19633"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a9cbfb7cd06eac1839cae981e05c19633">&#9670;&nbsp;</a></span>expanded()</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="class_q_c_p_range.html">QCPRange</a> QCPRange::expanded </td>
          <td>(</td>
          <td class="paramtype">const <a class="el" href="class_q_c_p_range.html">QCPRange</a> &amp;&#160;</td>
          <td class="paramname"><em>otherRange</em></td><td>)</td>
          <td> const</td>
        </tr>
      </table>
</div><div class="memdoc">
<p>Returns an expanded range that contains this and <em>otherRange</em>. It is assumed that both this range and <em>otherRange</em> are normalized (see <a class="el" href="class_q_c_p_range.html#af914a7740269b0604d0827c634a878a9">normalize</a>).</p>
<dl class="section see"><dt>See also</dt><dd><a class="el" href="class_q_c_p_range.html#a0fa1bc8048be50d52bea93a8caf08305">expand</a> </dd></dl>

</div>
</div>
<a id="af914a7740269b0604d0827c634a878a9"></a>
<h2 class="memtitle"><span class="permalink"><a href="#af914a7740269b0604d0827c634a878a9">&#9670;&nbsp;</a></span>normalize()</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void QCPRange::normalize </td>
          <td>(</td>
          <td class="paramname"></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">
<p>Makes sure <em>lower</em> is numerically smaller than <em>upper</em>. If this is not the case, the values are swapped. </p>

</div>
</div>
<a id="a6876aa9620ff2f0f7f1873f998372cef"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a6876aa9620ff2f0f7f1873f998372cef">&#9670;&nbsp;</a></span>operator*=()</h2>

<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="class_q_c_p_range.html">QCPRange</a> &amp; QCPRange::operator*= </td>
          <td>(</td>
          <td class="paramtype">const double &amp;&#160;</td>
          <td class="paramname"><em>value</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">
<p>Multiplies both boundaries of the range by <em>value</em>. </p>

</div>
</div>
<a id="afea7c1aa7d08f061cd9bd8832f957df8"></a>
<h2 class="memtitle"><span class="permalink"><a href="#afea7c1aa7d08f061cd9bd8832f957df8">&#9670;&nbsp;</a></span>operator+=()</h2>

<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="class_q_c_p_range.html">QCPRange</a> &amp; QCPRange::operator+= </td>
          <td>(</td>
          <td class="paramtype">const double &amp;&#160;</td>
          <td class="paramname"><em>value</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">
<p>Adds <em>value</em> to both boundaries of the range. </p>

</div>
</div>
<a id="a95894bcb15a16a75ca564091374e2191"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a95894bcb15a16a75ca564091374e2191">&#9670;&nbsp;</a></span>operator-=()</h2>

<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="class_q_c_p_range.html">QCPRange</a> &amp; QCPRange::operator-= </td>
          <td>(</td>
          <td class="paramtype">const double &amp;&#160;</td>
          <td class="paramname"><em>value</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">
<p>Subtracts <em>value</em> from both boundaries of the range. </p>

</div>
</div>
<a id="a6137d8682b6835ace840730b4c1e2d63"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a6137d8682b6835ace840730b4c1e2d63">&#9670;&nbsp;</a></span>operator/=()</h2>

<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="class_q_c_p_range.html">QCPRange</a> &amp; QCPRange::operator/= </td>
          <td>(</td>
          <td class="paramtype">const double &amp;&#160;</td>
          <td class="paramname"><em>value</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">
<p>Divides both boundaries of the range by <em>value</em>. </p>

</div>
</div>
<a id="a808751fdd9b17ef52327ba011df2e5f1"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a808751fdd9b17ef52327ba011df2e5f1">&#9670;&nbsp;</a></span>sanitizedForLinScale()</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="class_q_c_p_range.html">QCPRange</a> QCPRange::sanitizedForLinScale </td>
          <td>(</td>
          <td class="paramname"></td><td>)</td>
          <td> const</td>
        </tr>
      </table>
</div><div class="memdoc">
<p>Returns a sanitized version of the range. Sanitized means for linear scales, that <em>lower</em> will always be numerically smaller (or equal) to <em>upper</em>. </p>

</div>
</div>
<a id="a3d66288d66e1d6df3636075eb42502ee"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a3d66288d66e1d6df3636075eb42502ee">&#9670;&nbsp;</a></span>sanitizedForLogScale()</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="class_q_c_p_range.html">QCPRange</a> QCPRange::sanitizedForLogScale </td>
          <td>(</td>
          <td class="paramname"></td><td>)</td>
          <td> const</td>
        </tr>
      </table>
</div><div class="memdoc">
<p>Returns a sanitized version of the range. Sanitized means for logarithmic scales, that the range won't span the positive and negative sign domain, i.e. contain zero. Further <em>lower</em> will always be numerically smaller (or equal) to <em>upper</em>.</p>
<p>If the original range does span positive and negative sign domains or contains zero, the returned range will try to approximate the original range as good as possible. If the positive interval of the original range is wider than the negative interval, the returned range will only contain the positive interval, with lower bound set to <em>rangeFac</em> or <em>rangeFac</em> *<em>upper</em>, whichever is closer to zero. Same procedure is used if the negative interval is wider than the positive interval, this time by changing the <em>upper</em> bound. </p>

</div>
</div>
<a id="a62326e7cc4316b96df6a60813230e63f"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a62326e7cc4316b96df6a60813230e63f">&#9670;&nbsp;</a></span>size()</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">double QCPRange::size </td>
          <td>(</td>
          <td class="paramname"></td><td>)</td>
          <td> const</td>
        </tr>
      </table>
</div><div class="memdoc">
<p>Returns the size of the range, i.e. <em>upper-<em>lower</em> </em> </p>

</div>
</div>
<a id="ab38bd4841c77c7bb86c9eea0f142dcc0"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ab38bd4841c77c7bb86c9eea0f142dcc0">&#9670;&nbsp;</a></span>validRange() <span class="overload">[1/2]</span></h2>

<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">bool QCPRange::validRange </td>
          <td>(</td>
          <td class="paramtype">double&#160;</td>
          <td class="paramname"><em>lower</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">double&#160;</td>
          <td class="paramname"><em>upper</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">static</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">
<p>Checks, whether the specified range is within valid bounds, which are defined as <a class="el" href="class_q_c_p_range.html#a5ca51e7a2dc5dc0d49527ab171fe1f4f">QCPRange::maxRange</a> and <a class="el" href="class_q_c_p_range.html#ab46d3bc95030ee25efda41b89e2b616b">QCPRange::minRange</a>. A valid range means: </p><ul>
<li>range bounds within -maxRange and maxRange </li>
<li>range size above minRange </li>
<li>range size below maxRange </li>
</ul>

</div>
</div>
<a id="a801b964752eaad6219be9d8a651ec2b3"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a801b964752eaad6219be9d8a651ec2b3">&#9670;&nbsp;</a></span>validRange() <span class="overload">[2/2]</span></h2>

<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">bool QCPRange::validRange </td>
          <td>(</td>
          <td class="paramtype">const <a class="el" href="class_q_c_p_range.html">QCPRange</a> &amp;&#160;</td>
          <td class="paramname"><em>range</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">static</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">
<p>This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts. Checks, whether the specified range is within valid bounds, which are defined as <a class="el" href="class_q_c_p_range.html#a5ca51e7a2dc5dc0d49527ab171fe1f4f">QCPRange::maxRange</a> and <a class="el" href="class_q_c_p_range.html#ab46d3bc95030ee25efda41b89e2b616b">QCPRange::minRange</a>. A valid range means: </p><ul>
<li>range bounds within -maxRange and maxRange </li>
<li>range size above minRange </li>
<li>range size below maxRange </li>
</ul>

</div>
</div>
<h2 class="groupheader">Friends And Related Function Documentation</h2>
<a id="a558b1248ff6a9e41fd5b2630555a8acc"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a558b1248ff6a9e41fd5b2630555a8acc">&#9670;&nbsp;</a></span>operator* <span class="overload">[1/2]</span></h2>

<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">const <a class="el" href="class_q_c_p_range.html">QCPRange</a> operator* </td>
          <td>(</td>
          <td class="paramtype">const <a class="el" href="class_q_c_p_range.html">QCPRange</a> &amp;&#160;</td>
          <td class="paramname"><em>range</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">double&#160;</td>
          <td class="paramname"><em>value</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">friend</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">
<p>Multiplies both boundaries of the range by <em>value</em>. </p>

</div>
</div>
<a id="a5cb2332f6957021f47cc768089f4f090"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a5cb2332f6957021f47cc768089f4f090">&#9670;&nbsp;</a></span>operator* <span class="overload">[2/2]</span></h2>

<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">const <a class="el" href="class_q_c_p_range.html">QCPRange</a> operator* </td>
          <td>(</td>
          <td class="paramtype">double&#160;</td>
          <td class="paramname"><em>value</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const <a class="el" href="class_q_c_p_range.html">QCPRange</a> &amp;&#160;</td>
          <td class="paramname"><em>range</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">friend</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">
<p>Multiplies both boundaries of the range by <em>value</em>. </p>

</div>
</div>
<a id="af53ea6fb823a4a5897162b865841de04"></a>
<h2 class="memtitle"><span class="permalink"><a href="#af53ea6fb823a4a5897162b865841de04">&#9670;&nbsp;</a></span>operator+ <span class="overload">[1/2]</span></h2>

<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">const <a class="el" href="class_q_c_p_range.html">QCPRange</a> operator+ </td>
          <td>(</td>
          <td class="paramtype">const <a class="el" href="class_q_c_p_range.html">QCPRange</a> &amp;&#160;</td>
          <td class="paramname"><em>range</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">double&#160;</td>
          <td class="paramname"><em>value</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">friend</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">
<p>Adds <em>value</em> to both boundaries of the range. </p>

</div>
</div>
<a id="a9fb2e9941d32001482df670c0d704977"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a9fb2e9941d32001482df670c0d704977">&#9670;&nbsp;</a></span>operator+ <span class="overload">[2/2]</span></h2>

<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">const <a class="el" href="class_q_c_p_range.html">QCPRange</a> operator+ </td>
          <td>(</td>
          <td class="paramtype">double&#160;</td>
          <td class="paramname"><em>value</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const <a class="el" href="class_q_c_p_range.html">QCPRange</a> &amp;&#160;</td>
          <td class="paramname"><em>range</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">friend</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">
<p>Adds <em>value</em> to both boundaries of the range. </p>

</div>
</div>
<a id="a797f82830b516646da8873f82e39e356"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a797f82830b516646da8873f82e39e356">&#9670;&nbsp;</a></span>operator-</h2>

<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">const <a class="el" href="class_q_c_p_range.html">QCPRange</a> operator- </td>
          <td>(</td>
          <td class="paramtype">const <a class="el" href="class_q_c_p_range.html">QCPRange</a> &amp;&#160;</td>
          <td class="paramname"><em>range</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">double&#160;</td>
          <td class="paramname"><em>value</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">friend</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">
<p>Subtracts <em>value</em> from both boundaries of the range. </p>

</div>
</div>
<a id="a4b366a3a21974c88e09b0d39d4a24a4b"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a4b366a3a21974c88e09b0d39d4a24a4b">&#9670;&nbsp;</a></span>operator/</h2>

<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">const <a class="el" href="class_q_c_p_range.html">QCPRange</a> operator/ </td>
          <td>(</td>
          <td class="paramtype">const <a class="el" href="class_q_c_p_range.html">QCPRange</a> &amp;&#160;</td>
          <td class="paramname"><em>range</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">double&#160;</td>
          <td class="paramname"><em>value</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">friend</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">
<p>Divides both boundaries of the range by <em>value</em>. </p>

</div>
</div>
<h2 class="groupheader">Member Data Documentation</h2>
<a id="a5ca51e7a2dc5dc0d49527ab171fe1f4f"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a5ca51e7a2dc5dc0d49527ab171fe1f4f">&#9670;&nbsp;</a></span>maxRange</h2>

<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">const double QCPRange::maxRange = 1e250</td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">static</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">
<p>Maximum values (negative and positive) the range will accept in range-changing functions. Larger absolute values would cause errors due to the 11-bit exponent of double precision numbers, corresponding to a maximum magnitude of roughly 1e308. Since the number of planck-volumes in the entire visible universe is only ~1e183, this should be enough. </p><dl class="section see"><dt>See also</dt><dd><a class="el" href="class_q_c_p_range.html#ab38bd4841c77c7bb86c9eea0f142dcc0">validRange</a>, <a class="el" href="class_q_c_p_range.html#ab46d3bc95030ee25efda41b89e2b616b">minRange</a> </dd></dl>

</div>
</div>
<a id="ab46d3bc95030ee25efda41b89e2b616b"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ab46d3bc95030ee25efda41b89e2b616b">&#9670;&nbsp;</a></span>minRange</h2>

<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">const double QCPRange::minRange = 1e-280</td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">static</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">
<p>Minimum range size (<em>upper</em> - <em>lower</em>) the range changing functions will accept. Smaller intervals would cause errors due to the 11-bit exponent of double precision numbers, corresponding to a minimum magnitude of roughly 1e-308. </p><dl class="section see"><dt>See also</dt><dd><a class="el" href="class_q_c_p_range.html#ab38bd4841c77c7bb86c9eea0f142dcc0">validRange</a>, <a class="el" href="class_q_c_p_range.html#a5ca51e7a2dc5dc0d49527ab171fe1f4f">maxRange</a> </dd></dl>

</div>
</div>
<hr/>The documentation for this class was generated from the following files:<ul>
<li>R:/Develop/a0-develop/LibQQt/src/charts/qcustomplot/<a class="el" href="qcustomplot_8h_source.html">qcustomplot.h</a></li>
<li>R:/Develop/a0-develop/LibQQt/src/charts/qcustomplot/<a class="el" href="qcustomplot_8cpp.html">qcustomplot.cpp</a></li>
</ul>
</div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
Generated by &#160;<a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/>
</a> 1.8.14
</small></address>
</body>
</html>
